<?php

namespace App\Exports;

use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithColumnWidths;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Events\AfterSheet;

class OrderCusExport implements FromCollection, WithHeadings, WithColumnWidths, WithEvents
{
    protected $data;

    public function __construct(Collection $data)
    {
        $this->data = $data;
    }

    public function collection()
    {
        return $this->data;
    }

    public function headings(): array
    {
        //业务单号	履约单号	网点	来源客户	订单状态	货物状态	下单时间	货物重量	货物体积	
        // 寄件人	寄件人电话	寄件地址	收件人	收件人电话	收件地址																											
        return [
            '入仓单号',
            '提单号',
            '入仓单状态',
            '大包件数',
            '小包件数',
            '包装',
            '预报出货日期',
            '目的地口岸',
            '货物属性',
            '报关方式',
            '清关派送',
            '下单重量',
            '下单体积',
            '泡重',
            '入仓方式'


//            '体积重',
//            '泡重',
//            '包装',
//            '预报下单',
//            '确认下单',
//            '入库日期',
//            '出库日期',
//            '抵达日期',
//            '清关日期',
//            '签收日期'
        ];

    }

    public function columnWidths(): array
    {
        // 设置每列的宽度
        return [
            'A' => 20,
            'B' => 20,
            'C' => 20,
            'D' => 20,
            'E' => 20,
            'F' => 20,
            'J' => 20,
            'K' => 25,
            'L' => 60,
            'M' => 25,
            'N' => 25,
            'O' => 60,
            // 根据你的需求设置其他列的宽度
        ];
    }

    public function registerEvents(): array
    {
        return [
            AfterSheet::class => function(AfterSheet $event) {
                $event->sheet->getDelegate()->freezePane('A2');
            },
        ];
    }

}